/* // 封装web服务
const myweb = require('./myweb')
const fs = require('fs')
const app = myweb()

// jsonp解决跨域，只能get
app.get('/cors', (req, res) => {
  let cb = req.query.cb
  let users = JSON.stringify([
    { id: 1, name: '张三' },
    { id: 2, name: '李四' },
  ])
  // 允许所有的来源都可以请求当前服务器地址 
  res.setHeader('Access-Control-Allow-Origin', '*')
  // 允许get、post、put等等请求动作跨域
  res.setHeader('Access-Control-Allow-Methods', 'GET,POST,PUT,PATCH,DELETE,OPTIONS')
  // 允许头信息中username字段跨域 ==
  res.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept,username")
  // res.setHeader('Access-Control-Allow-Headers', '*')
  res.setHeader('Access-Control-Expose-Headers', 'username')

  res.send(users)
})

app.listen(3000, '0.0.0.0', () => {
  console.log('http://localhost:3000')
}) */


const http = require('http')
const url = require('url')

const jsonFn = obj => JSON.stringify(obj)

// 允许你跨域的域名
const allowDomain = [
  'http://127.0.0.1:5501',
  'http://localhost:63342'
]




http.createServer((req, res) => {
  let user = {
    id: 1,
    name: '张三'
  }
  // 在允许白名单的请求域名中，可以随意请求，但是如果没有在白名单中，就不可以请求
  if (allowDomain.includes(req.headers.origin)) {
    // 通过设置响应头信息，来允许ajax跨域请求
    // * 表示允许所有域名来跨域请求 
    // * 如果你所写为 * 则cookie将无法跨域(工作中都是将它设置为*,不允许跨域)  必须指定具体的域名
    let origin = req.headers.origin || '*'
    res.setHeader('Access-Control-Allow-Origin', '*')
    // res.setHeader('Access-Control-Allow-Origin', origin)
    // 允许cookie跨域
    res.setHeader('Access-Control-Allow-Credentials', 'false')
    // res.setHeader('Access-Control-Allow-Methods', 'GET,POST,PUT,PATCH,DELETE,OPTIONS')
    // 允许指定的请求头信息来发送
    // res.setHeader('Access-Control-Allow-Headers', 'username,Cookie')
    // 服务器返回指定的响应头信息给客户端
    // res.setHeader('Access-Control-Expose-Headers', 'password,Cookie')
    res.setHeader('content-type', 'application/json;charset=utf-8')
    // res.setHeader('password', 'admin888')
    res.end(jsonFn(user))
  } else {
    res.end('')
  }
}).listen(3000)


